
import { Entity, Column, PrimaryGeneratedColumn, CreateDateColumn, UpdateDateColumn } from 'typeorm';
// @Entity('table_name')：指定映射的表名。
// @PrimaryGeneratedColumn()：主键，uuid 表示生成 UUID 格式（也可用 increment 自增数字）。
// @Column()：定义字段，可指定类型、长度、唯一性等约束。
// @CreateDateColumn() /@UpdateDateColumn()：自动记录创建 / 更新时间。

/**
 * ? 商品分类实体
 * ! 商品分类表，存储商品分类相关信息
 * * 映射到数据库的 "goods_category" 表
 */
@Entity('goods_category')
export class GoodsCategoryEntity {
  @PrimaryGeneratedColumn('increment')
  id: number;

  @Column({ length: 12, comment: '商品分类名称' })
  name: string;

  @Column({ comment: '商品分类父级ID', default: 0 })
  parent_id: number;

  @Column({ comment: '商品分类层级', default: 0 })
  level: number;

  @Column({ comment: '商品分类排序', default: 0 })
  sort: number;

  @Column({ length: 255, comment: '商品分类描述' })
  description: string;

  @Column({ comment: '商品分类状态', default: 0 })
  status?: number;

  @Column({ length: 255, comment: '商品分类图标', default: '' })
  icon: string;

  @CreateDateColumn({ comment: '创建时间' })
  created_at: Date;

  @UpdateDateColumn({ comment: '更新时间' })
  updated_at: Date;

}